Skip to content

Conversation

@joshtrichards
Copy link
Member

@joshtrichards joshtrichards commented Nov 18, 2023

TLDR: Messing with expanding release changelog to:

  • increase coverage of fixes/changes/additions
  • make/keep easy to read

TODO:

  • First pass that itemizes all non-translation related commits
  • Categorize items
  • Lightly edit items for readability
  • Heavily edit for casual reading

Editing a changelog to make it presentable, readable, and useful (beyond just skimming commit messages) takes time. This is an experiment to see what's involved, see if it's worthwhile, get some feedback from the community, start somewhere and improve as we go along, etc.

The existing changelog often leaves users with an inappropriate impression of what has changed. Incomplete ones (or ones that aren't easy to comprehend in a relatively quick manner to non-developers) impact trust and confidence.

It's about not only what's been added, but fixed/updated/etc. And bugs and regressions will happen, but they're easier to accept if changes are not coming out of a "black box" (I'm talking from the perspective of those that aren't actively involved in the development - or which are only involved in development on the peripheral or elsewhere within @nextcloud).

I further propose that if we decide to keep doing something similar to this, that we:

  • add a checkbox to the default PR template (after the "Tests written") that says something like:
    • Entry added to CHANGELOG.md for this change
      • in the Unreleased section
      • A preliminary one-liner is fine the changelog editor may tweak it at release time as deemed appropriate
    • This will make life way easy for compiling these and disperse the extra work so that it can become more sustainable (that's my hypothesis anyhow)
  • split up release duties to keep things more manageable (loosely; sometimes this will still be the same person):
    • changelog editor
    • builder/deployer/uploader
  • have the changelog be 99% done with the first beta/RC
  • take the time to continuously improve the "possible to automate better" areas of the release process
  • push out these stronger changelogs with betas/RCs to foster/encourage user/community testing (builds excitement and also makes it clearer what areas are the ones likely to need testing)

I'll also include this quote from Keep a Changelog because it seems relevant: 😄

A changelog which only mentions some of the changes can be as dangerous as not having a changelog. While many of the changes may not be relevant - for instance, removing a single whitespace may not need to be recorded in all instances - any important changes should be mentioned in the changelog. By inconsistently applying changes, your users may mistakenly think that the changelog is the single source of truth. It ought to be. With great power comes great responsibility - having a good changelog means having a consistently updated changelog.

  • Tests written, or not not needed

The existing changelog often leaves users with an inappropriate impression what has changed. It's about not only what's been added, but fixed/updated/etc. This attempts to fix that by revisiting the most recently released changelog.

Signed-off-by: Josh Richards <[email protected]>
@joshtrichards
Copy link
Member Author

One area that this work highlighted is that android-library could use something similar, but for now the key is to note any key changes that are relevant to the Android client. So presently I can "hack" that effort by simply expanding our changelog here and including the key PRs from the library that are relevant here. e.g. for v3.26 this looks like it should have included:

Added

The second was already sort of covered by an existing entry, but the chunked uploading wasn't mentioned in my first pass. It's important though! So I'll have to add that in a follow-up PR to this changelog. :-)

@joshtrichards joshtrichards added enhancement 3. to review documentation Things to be documented or turned into documentation labels Nov 18, 2023
Signed-off-by: Josh Richards <[email protected]>
@github-actions
Copy link

Codacy

Lint

TypemasterPR
Warnings7475
Errors00

SpotBugs

CategoryBaseNew
Bad practice2626
Correctness7070
Dodgy code363363
Experimental22
Internationalization99
Malicious code vulnerability22
Multithreaded correctness99
Performance5858
Security1818
Total557557

@github-actions
Copy link

APK file: https://www.kaminsky.me/nc-dev/android-artifacts/12185.apk

qrcode

To test this change/fix you can simply download above APK file and install and test it in parallel to your existing Nextcloud app.

@github-actions
Copy link

github-actions bot commented Apr 1, 2024

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

@joshtrichards
Copy link
Member Author

Closing this out. Right now this isn't maintainable as-is. It was an experiment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2. developing documentation Things to be documented or turned into documentation enhancement feedback-requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants